The present invention relates to computing, and in particular, to systems and methods for integrating databases and applications using shared memory.
Unless otherwise indicated herein, the approaches described in this section are not prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.
For an application to access data stored in a database, a separate application server and database server are used. The application server requests data from the database through the database server. For example, transfer control protocol/Internet protocol (TCP/IP) or another networking protocol may be used to communicate between the application server and the database server. The database server retrieves the data for the application server. The application server interprets the data and transforms the data into a format that can be processed by the application.
Typically, data is represented differently in databases and applications. An application may have custom application structures and types for processing data, and the database may have different native structures and types for processing data used in the application. Typically, data is transformed as it is transferred between a database and an application.
FIG. 1 shows a typical application and database. Data transferred from application 101 to database 102 is typically transformed at 150 before being stored in a different format in database 102. Similarly, data transferred from database 102 to application 101 is transformed to a different format compatible with application 101. However, such format transformations are time consuming and processor intensive. Additionally, format transformation of the data reduces data throughput and slows down the ability of the application to store and access the data it needs to function. For example, if format transformation is implemented in the application, the application may require additional processor and memory resources. This larger resource footprint will be magnified across each instance of the application, for example. Similarly, if format transformation is implemented in the database, the database may require additional processor and memory resources. For databases serving multiple applications, this larger footprint may impact the performance of multiple applications.
The present disclosure addresses these and other issues with systems and methods for integrating application server and data server processes.